#pragma once
#include "afxcmn.h"
#include "ui/poke_dlg_window_basic_info.h"
#include "ui/poke_dlg_window_prop.h"
#include "ui/poke_dlg_window_op.h"
#include "ui/poke_dlg_input.h"
#include "ui/poke_dlg_dwm_info.h"
#include "poke_dialog_helper.h"
#include "poke_framework.h"

// CPokeDlgWindowInfo dialog

class CPokeDlgWindowInfo : public CDialog, public M::Atom
{
    DECLARE_DYNAMIC(CPokeDlgWindowInfo)

public:
    CPokeDlgWindowInfo(CWnd* pParent = NULL);   // standard constructor
    virtual ~CPokeDlgWindowInfo();

// Dialog Data
    enum { IDD = IDD_DIALOG_WINDOW_INFO };

protected:
    DECLARE_MESSAGE_MAP()

    virtual BOOL OnInitDialog();
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

    virtual M::String name() const { return PAN_DLG_WINDOW_INFO; }
    virtual bool OnEvent(const M::AtomEndPoint &oSrcAtom, int nEventId, void *pParams);

private:
    CTabCtrl m_oTabBasicInfos;
    CPokeDlgWindowBasicInfo m_oDlgWindowInfo;
    CPokeDlgWindowProp m_oDlgWindowProp;
    CPokeDlgWindowOp m_oDlgWindowOp;
    CPokeDlgInput m_oDlgInput;
    CPokeDlgDwmInfo m_oDlgDwmInfo;

public:
    afx_msg void OnTcnSelchangeTabBasicInfo(NMHDR *pNMHDR, LRESULT *pResult);
};
